The field of this invention is the computer terminal and particularly interactive terminals which permit access and operation with respect to computers by operators using as an input device a keyboard or some such form of data entry arrangement by which the operator can utilize the power available in the computer and its associated memory and software.
In the prior art, one standard form of computer terminal has been a keyboard device of the teletype or typewriter variety and at present such devices have the ability to provide the USASCII, 1968 STANDARD SET OF NINETY-FIVE PRINTABLE CHARACTERS OR SOME PORTION THEREOF. This standard set of symbols which has evolved from the typewriter with its keyboard and symbol set is generally associated with a video display output device which will display the selected characters in the form of the text which has been entered by the keyboard and conventional arrangements for editing, erasing and other operations.
The limitations of prior art terminals may not have seemed unduly restrictive in many quarters. Indeed, the concept of defining the available symbols, or groups of symbols, to have special meanings under particular circumstances has allowed the standard symbol set to do more than double duty. Thus .uparw. and ** and .P. have all three been used to mean "raise to the power"; "O backspace -" may mean "the Greek letter theta"; "INT (a,b,f,x)" may mean ##EQU1## and "A.SUB.i+j" may mean "A.sub.i+j ". In an environment in which much of the serious communication from the user to the computer is still referred to as "writing code" such conventions are readily accepted. And yet, there are signs that the situation is increasingly less satisfactory, particularly as the user group becomes less dominated by computer professionals and demi-professionals.
The alternate forms in which the standard symbol sets are used are not desirable in instructional applications, for example, because they require the student to learn extraneous codes and because they stress notational schemes different from those used in the published literature and in textbooks. They are also troublesome because the particular notational conventions are relatively arbitrary; the convention adopted by one author is likely to be different from his colleagues' and different from the conventions used in algorithmic programming languages, such as Fortran, Cobol, MAD, etc. These languages, in turn, use conventions which differ from one to another. Thus, the use of a limited, standard symbol set which does not include the natural symbols (or positioning) of particular applications paradoxically tends to lead to a diversity rather than a uniformity of notation. This is distracting and confusing, particularly in an educational situation.
Another interesting type of example, which stresses the differences between display and input capabilities, can be drawn from a report on a sophisticated, multi-character cathode-ray-type display terminal developed at the MIT Electronic Systems Laboratory, for use in libraries, as part of the Intrex project (See "A Translator Program for Displaying a Computer Stored Set of Special Characters" Mobyuki, Goto, Report ESL-R-429, Massachusetts Institute of Technology, 1970). The partial line of text illustrated below (in quotes) represents a significant step beyond the display capability of run-of-the-mill terminals. The use of superscripts and subscripts and of nonstandard symbols allows the chemical formula in the line to be represented on the display in its standard form:
". . . in the system Mn.sub.x Fe.sub.3-x 0.sub.4+.gamma. for &lt;1 . . ." PA1 ". . . in the system Mn*sub x*Fe*sub 3-x*0*sub 4+ *gamma** for x *less than* 1 . . ." PA1 (1) Working symbol set stored in the data base, the symbols making up such set being author-definable and the set being virtually unlimited in terms of the number of symbols or the visual aspect of the symbols; PA1 (2) Keyboard descriptions permitting such keyboards to be displayed or drawn on a keyboard display unit, the keyboard formats being essentially completely arbitrary, allowing an essentially unlimited number of possibilities ranging from the standard key layout of a typewriter, to drawings, templates, or any format oriented to inputting a problem and working through to a solution by interaction with the computer; PA1 (3) Descriptions for using keyboards, the keyboards being dynamically switchable, keeping pace with the user's path through an interaction, being specifically relevant to the then current aspect of the task; PA1 (4) Sub-routines for use in the presentation of symbols from the symbol set. Input actions by the user generate a binary coded input stream which is explicitly meaningful in terms of the defined symbol set, and which has the attributes of an ordinary text that one applies to text files (or symbol strings) such as:
The same report also explains how that information must be input:
The augmented display capability illustrated above is certainly valuable in its own right. However, there is less advantage in its use if the user must train himself to use the different inputting code. It is perhaps surprising that the latter form is as readable as it is; for a person unfamiliar with chemistry it might even be more readable than the correctly displayed form. As an input scheme for "chemists", however, spelling out the non-standard symbols and format in English-like text is at best a tedious and error-prone option.
Other schemes, deviating further and further from the standard symbol set, have been developed in response to the continuing pressure for more and different input symbols. One approach has been to replace the entire standard keyboard symbol set with another one, specially designed for a specific application. Perhaps the best known example of this is an APL terminal, for which the keyboard labels and type head are changed to provide a unique set of symbols, the symbol set of the APL programming language.
Another approach has been to add more keys to the keyboard. Some of the extra keys may be assigned high-level operational meaning, such as log x or e.sup.x. Experimental terminals for engineering applications have been developed with as many as 250 "side" keys, alongside the standard keyboard. Nonetheless, such keyboards are still mainly limited to the fixed, though larger, symbol set which happens to be included. An additional disadvantage to this, as a general approach, is simply the distraction that is presented by so formidable an array of keys, only a fraction of which are likely to be used in any brief period of time.
A related scheme has been to assign multiple sets of meanings to a fixed number of keys. This is an extension of the ordinary "shift" concept which allows each key to represent two different symbols, depending on whether the shift key is depressed or not. With multiple meanings, the user may be required to type a special code--e.g., LEVEL III--to indicate that he desires to switch to a particular set of meanings for the keys. It is difficult to provide many readable labels per key, however, so the basic limitation remains.
An interesting attempt to provide a multiplicity of key labels for a multi-"shift"-level scheme has been made by the Philco Houston Operations of the Philco-Ford Corporation (See "New Conception Man-Machine Interface Devices", Developments Section, Computer Designs, 7, 32; 1968). Their device consists of a "keyboard" comprising two 4.times.4 arrays of push buttons and an (exchangeable) ten page "book" of plastic sheet label overlays which have holes through which the buttons can protrude. The book spline locks into the center of the keyboard (between the two separate 4.times.4 button arrays). When the book is open to a given pair of pages the overlays provide the key labels. Mechanical cams attached to the book spline and to the individual pages actuates switches under the keyboard to identify the particular book pad pages selected.
In a related but more recent approach, workers at the Bell Telephone Laboratories have assembled a device in which key labels are projected onto a mechanical-key keyboard, while the use of partially-silvered mirrors allows the user to see his hand, the keys, and the labels--all simultaneously (See Knowlton, K., "Virtual Pushbuttons as a Means of Person-Machine Interaction", Proceedings Computer Graphics, Patterson Recognition and Data Structure Conference, Beverly Hills, California, 1975).
Another approach, used with CRT and other display terminals, has been to generate "soft-copy" input areas, in which special symbols or function names are displayed on a reserved section of the CRT screen and selected by pointing at them with a light-pen, or by moving a cursor controlled by a "joy-stick" or track-ball, or by interrrupting a light beam in an array, or by a similar technique. The previously mentioned MIT Project-Intrex BRISC terminal extended this idea by displaying variable labels to identify a set of extra push buttons mounted along the bottom of the CRT screen. "Soft-copy" input modes implemented on the display in these various ways can provide an additional richness and flexibility in the input symbol set but are generally slower to work with than separate keyboards and are often not suitable for routine input. They are thus used in combination with a standard keyboard, which results in the user having to transfer back and forth from one type of input device to the other--he must drop the light pen to type, for example, and vice versa. More importantly, information input in that fashion is usually handled in a manner that is not homogeneous with normal input. That is, with normal input-handling software a key push is simply converted into a binary-bit code, unique to the particular symbol selected, and appended--if appropriate--to a symbol string input-stream. Such a string is subsequently amenable to the usual range of "character-handling" operations, and, of course, it can be edited later or redisplayed. In contrast, with input schemes like those referred to immediately above, the controlling software routine is likely to be a specialized one, designed in conjunction with the specific picture then being displayed, and directly carrying out one branch of the program or another, depending on the numerical x and y values of the screen locations selected.
A second basic type of flaw in the usual input device is the lack of format flexibility. The user faces a fixed key layout, usually with fixed key labels; an instrument based on a design for putting English prose onto paper. As it happens, the standard symbol layout used is not ideally suited even for that purpose, but that quantitative detail is almost irrelevant in the present context. It is important, however, to consider the possibility that touch-input communications to a computer may be qualitatively enhanced through the use of formats more closely related to the specific interactions underway.
A third major flaw regarding standard, all-purpose keyboards, is that they are detrimental to the efficiency of human-computer interaction, especially in consideration of errors and the fallibility of human memory. In particular, it is not desirable to always present the user with a single keyboard through which he can send any communication which is, which has ever been, and which might ever be a valid statement. Such keyboard does not provide any clues as to what input is meaningful at a given instant in a given process, although the computer software is often very "knowledgeable" and sensitive about which is legitimate and what is not. At the same time, the very generality of the standard keyboard provides unlimited opportunity for error.